/*
 * Copyright (c) 2017. 深圳一七科技. All rights reserved.
 */

package com.yiqi.liebang.feature.order.contract;

import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.liebang.entity.bo.AnswerBo;
import com.yiqi.liebang.entity.bo.CommentBo;
import com.yiqi.liebang.entity.bo.CreateOrderBo;
import com.yiqi.liebang.entity.bo.OrderBo;
import com.yiqi.liebang.entity.bo.OrderQuestionInfofBo;
import com.yiqi.liebang.entity.bo.PageBo;
import com.yiqi.liebang.entity.bo.PayBo;
import com.yiqi.liebang.entity.bo.QuestionDetailBo;

import java.util.List;

import io.reactivex.Observable;

/**
 * LIJUWEN
 *
 * @email yiyayiyayaoljw@gmail.com
 * @date 2018/7/11 9:06
 */
public interface QuestionInfoContract {

    interface Model {


        Observable<OrderQuestionInfofBo> getOrderQuestionInfo(String id,int type);

        Observable<String> refusedQuestion(String id);

        Observable<String> toAnswer(AnswerBo answerBo);

        Observable<String> toAnswer(CommentBo answerBo);

        Observable<QuestionDetailBo> getOrderQuestionDetail(CommentBo id);

        Observable<String> toCommentQuestion(CommentBo answerBo);

    }

    interface View extends BaseView {


        void showOrderQuestionInfoSuccess(OrderQuestionInfofBo infofBo);

        void showOrderQuestionDetailSuccess(QuestionDetailBo infofBo);

        void showRefusedQuestion(String s);

        void showAnswerSuccess(String s);

        void showCommentSuccess(String s);

        void showOrderQuestionInfoError(String error);

        void showCommentDetailSuccess(String s);

    }


    interface Presenter extends BasePresenter {

        void getOrderQuestionInfo(String id,int type);

        void refusedQuestion(String id);

        void toAnswer(String id, String answerContent, int type);

        void toComment(String id, float score);

        void getOrderQuestionDetail(String id);

        void toCommentInfo(Integer chargeState,String questionId, float score);
    }
}
